home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / ien / ien-188 < prev    next >
Encoding:
Text File  |  1988-12-01  |  60.4 KB  |  2,031 lines

  1.  
  2.                                                           IEN 188
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.                      ISSUES IN INTERNETTING
  22.  
  23.                        PART 3:  ADDRESSING
  24.  
  25.  
  26.                           Eric C. Rosen
  27.  
  28.  
  29.                   Bolt Beranek and Newman Inc.
  30.  
  31.  
  32.                             June 1981
  33.  
  34.  
  35. IEN 188                              Bolt Beranek and Newman Inc.
  36.                                                     Eric C. Rosen
  37.  
  38.  
  39.                      ISSUES IN INTERNETTING
  40.  
  41.                        PART 3:  ADDRESSING
  42.  
  43.  
  44. 3.  Addressing
  45.  
  46.  
  47.      This is the third in a series of  papers  that  discuss  the
  48.  
  49. issues  involved in the design of an internet.  The initial paper
  50.  
  51. was IEN 184, familiarity with which is presupposed.
  52.  
  53.  
  54.      In this paper, we will deal  with  two  basic  issues.   The
  55.  
  56. first  has  to  do  with  the  Network  Access  Protocol.   It is
  57.  
  58. concerned with the sort of addressing information which a  source
  59.  
  60. Host  has  to  supply,  along  with  its data, to a source Switch
  61.  
  62. (gateway, in the Catenet context), in order to enable the  Switch
  63.  
  64. to  get  the  data delivered to the proper destination Host.  The
  65.  
  66. second issue has to do with the  question  of  how  the  Switches
  67.  
  68. (both  source  Switch  and  the  intermediate  Switches)  are  to
  69.  
  70. interpret and act upon the addressing information supplied by the
  71.  
  72. source  Host.   We  begin  by  stating  generally  the  sort   of
  73.  
  74. addressing  scheme  we  envision (which is by no means original),
  75.  
  76. and by comparing it to the  very  different  sort  of  addressing
  77.  
  78. currently  in  use  in the Catenet.  Next we will discuss some of
  79.  
  80. the issues and details that arise in considering how to make such
  81.  
  82. a scheme work reliably.  We will then show how this scheme  lends
  83.  
  84. itself  quite naturally to the solution of certain problems which
  85.  
  86. are very difficult to handle in the current Catenet architecture.
  87.  
  88. Although addressing and routing are rather intimately  bound  up,
  89.  
  90.                               - 1 -
  91.  
  92.  
  93. IEN 188                              Bolt Beranek and Newman Inc.
  94.                                                     Eric C. Rosen
  95.  
  96.  
  97. we  will  avoid  routing  considerations  here whenever possible.
  98.  
  99. Routing in the internet will be the topic of a longer paper which
  100.  
  101. will be the next to appear in this series.
  102.  
  103.  
  104. 3.1  Logical Addressing / Flat Addressing
  105.  
  106.  
  107.      For maximum  flexibility  and  robustness  of  operation,  a
  108.  
  109. source  Host should be able to simply "name" the destination Host
  110.  
  111. it wants to reach, where a "name" is just an arbitrary identifier
  112.  
  113. for a Host.  That is, the source Host should  not  need  to  know
  114.  
  115. anything about the physical location of the destination Host, NOT
  116.  
  117. EVEN  WHAT NETWORK IT IS ON.  In other words, the internet should
  118.  
  119. have logical addressing.  The advantages  of  logical  addressing
  120.  
  121. are  thoroughly  discussed  in IEN 183, and that discussion shall
  122.  
  123. not be repeated here.  IEN  183  presents  a  logical  addressing
  124.  
  125. scheme  which  was  designed  with the ARPANET in mind.  However,
  126.  
  127. since we  regard  the  internet  as  a  Network  Structure  whose
  128.  
  129. Switches  are  gateways and whose Hosts are generally multi-homed
  130.  
  131. to the gateways, most of the ideas presented in IEN  183  can  be
  132.  
  133. carried  over  directly to the internet environment.  The present
  134.  
  135. IEN will emphasize those aspects of the logical addressing scheme
  136.  
  137. which are specific to the internet environment, but the  proposed
  138.  
  139. scheme  is  basically  the  same as the one discussed in IEN 183.
  140.  
  141. Anyone with a real interest in these issues will want  to  become
  142.  
  143. familiar with that document.
  144.  
  145.  
  146.  
  147.  
  148.                               - 2 -
  149.  
  150.  
  151. IEN 188                              Bolt Beranek and Newman Inc.
  152.                                                     Eric C. Rosen
  153.  
  154.  
  155.      The  basic  idea of logical addressing is that a source Host
  156.  
  157. should name the destination Host, and  the  Switches  should  map
  158.  
  159. that  name  into a physical address that is meaningful within the
  160.  
  161. Network Structure of the Switches.  The mapping between names and
  162.  
  163. (physical) addresses will, in general, be  many-many.   That  is,
  164.  
  165. one  name  may refer indeterminately to several distinct physical
  166.  
  167. addresses,  either  because  some   one   physical   machine   is
  168.  
  169. multi-homed,  or  because the user does not care which of several
  170.  
  171. physical machines he reaches.  Similarly,  one  physical  machine
  172.  
  173. may  have  several names, which may either be synonyms, or may be
  174.  
  175. used for further multiplexing within the destination Host.  (This
  176.  
  177. may be particularly important when  a  Host  within  one  Network
  178.  
  179. Structure  is  really  a  Switch,  e.g., a port expander or local
  180.  
  181. network, within another.)
  182.  
  183.  
  184.      Logical addressing tends to  result  in  a  flat  addressing
  185.  
  186. space,  rather than a hierarchical one.  This may seem surprising
  187.  
  188. in  the  context  of  the  internet,  since  an  internet  is   a
  189.  
  190. hierarchical  structure, and internet routing is almost certainly
  191.  
  192. going to be some  form  of  hierarchical  routing.   However,  it
  193.  
  194. simply  does  not  follow  that  the addressing space used in the
  195.  
  196. internet  Network  Access  Protocol  must   be   a   hierarchical
  197.  
  198. addressing  space.   In  fact,  since  the form of the addressing
  199.  
  200. space has an effect on the Network Access Protocol, and hence  on
  201.  
  202. Host-level  software,  whereas  the routing algorithm is a purely
  203.  
  204. internal  matter  to  the  Network  Structure,  proper   protocol
  205.  
  206.                               - 3 -
  207.  
  208.  
  209. IEN 188                              Bolt Beranek and Newman Inc.
  210.                                                     Eric C. Rosen
  211.  
  212.  
  213. layering  would  seem  to require that the form of the addressing
  214.  
  215. and the form of the routing be independent.  We would like to  be
  216.  
  217. able  to  change  the  internal  routing algorithm of the Network
  218.  
  219. Structure  without  requiring  corresponding  changes   in   Host
  220.  
  221. software, i.e., without changing the form of the addressing.
  222.  
  223.  
  224.      What  we  are  proposing  is  quite  different  from the way
  225.  
  226. addressing  is  done  in  the  current  Catenet  Network   Access
  227.  
  228. Protocol,  IP.  IP uses both physical addressing and hierarchical
  229.  
  230. addressing.  (Note that physical addressing within a hierarchical
  231.  
  232. Network  Structure  will   almost   certainly   be   hierarchical
  233.  
  234. addressing,   whereas  logical  addressing  allows  the  internal
  235.  
  236. structure of the Network Structure to be better hidden  from  the
  237.  
  238. users.  This is one of its main advantages.)  The first component
  239.  
  240. of the address is a network number, and the second component is a
  241.  
  242. physical address which is meaningful within that network.  In IEN
  243.  
  244. 183,  we  discuss  a  number  of  reasons  for the superiority of
  245.  
  246. logical  over  physical  addressing.   Other  criticisms  of  the
  247.  
  248. Catenet's  current  addressing  scheme  have been voiced by other
  249.  
  250. authors.  For example, the way in which  hierarchical  addressing
  251.  
  252. is  incorporated  into Catenet addressing mechanisms has recently
  253.  
  254. come under criticism in IEN 177 by Danny Cohen, who  focuses  his
  255.  
  256. criticism  on  the  particular  case  of  the  ARPANET.  His main
  257.  
  258. criticism is that it does not allow enough  hierarchical  levels.
  259.  
  260. That  is, with the presence of local nets or port expanders which
  261.  
  262. appear to the ARPANET as Hosts, there is really another level  of
  263.  
  264.                               - 4 -
  265.  
  266.  
  267. IEN 188                              Bolt Beranek and Newman Inc.
  268.                                                     Eric C. Rosen
  269.  
  270.  
  271. hierarchy  after  the  ARPANET.   He  suggests,  therefore,  that
  272.  
  273. ARPANET  addressing  (1822-level)  be  changed  to  provide  this
  274.  
  275. additional  hierarchical  level,  and that end-users (or at least
  276.  
  277. Host software modules) fill in this additional level.
  278.  
  279.  
  280.      It is not obvious, though, that a single additional level of
  281.  
  282. addressing will do for all applications.  If we are sending  data
  283.  
  284. not  just to a local net, but to an internet of local nets, maybe
  285.  
  286. several additional levels of hierarchy are needed.  We  may  also
  287.  
  288. need  more  hierarchy  on  the  "front  end"  of  the address.  A
  289.  
  290. protocol which begins the internet address with a field which  is
  291.  
  292. supposed  to  identify the destination network (e.g., IP) assumes
  293.  
  294. that there is no need to establish a hierarchy among the networks
  295.  
  296. themselves.  (This is equivalent to assuming  that  all  Switches
  297.  
  298. can  "know about" all networks.)  As long as we have only a small
  299.  
  300. number of networks, it may be reasonable enough  to  assume  that
  301.  
  302. destination    network   addresses   need   not   themselves   be
  303.  
  304. hierarchical.  However, it is not difficult  to  imagine  a  very
  305.  
  306. large  internet  composed  of thousands of networks, where before
  307.  
  308. specifying a network, we must first specify,  say,  a  continent.
  309.  
  310. So  maybe  our  protocol  for  hierarchical  addressing  needs  a
  311.  
  312. "continent address" field before the network address  field.   It
  313.  
  314. begins  to  look  as  if  the  addressing  structure  needs to be
  315.  
  316. INFINITELY EXTENSIBLE in both directions.  In fact,  in  IEN  179
  317.  
  318. Cohen proposes a scheme which seems intended to provide this sort
  319.  
  320. of   infinite  extensibility.   That  seems  both  an  inevitable
  321.  
  322.                               - 5 -
  323.  
  324.  
  325. IEN 188                              Bolt Beranek and Newman Inc.
  326.                                                     Eric C. Rosen
  327.  
  328.  
  329. consequence  of  hierarchical  addressing,  and  a  reductio   ad
  330.  
  331. absurdum of it.
  332.  
  333.  
  334.      It  is  also  worth  noting that a given number of Hosts can
  335.  
  336. generally be addressed with  fewer  bits  in  a  flat  addressing
  337.  
  338. scheme  than in a hierarchical addressing scheme.  Given, say, 32
  339.  
  340. bits of addressing, flat addressing can  represent  2**32  Hosts.
  341.  
  342. However,  if  these  32  bits  are broken into four 8-bit fields,
  343.  
  344. hierarchically, fewer Hosts can be represented, since in general,
  345.  
  346. not every one of the four fields will actually take on  the  full
  347.  
  348. 256  values.   Inevitably, one finds that at least one field must
  349.  
  350. take on 257 values, while at least one other turns out to have  a
  351.  
  352. smaller  number  of  values than expected.  This tends to lead to
  353.  
  354. the feeling that the address field needs "just one more level" of
  355.  
  356. hierarchy.  It also tends to lead to  the  use  of  funny  escape
  357.  
  358. values and multiplexing protocols so that different fields can be
  359.  
  360. divided up in different ways by different applications.  The same
  361.  
  362. problems  usually  reappear, however, in a few years, as the need
  363.  
  364. for "just one more level"  is  proclaimed  yet  again.   Yet  the
  365.  
  366. alternative  of making the address fields arbitrarily long, hence
  367.  
  368. infinitely  extensible,  is  rather  infeasible,   if   bandwidth
  369.  
  370. considerations are taken into account.
  371.  
  372.  
  373.      The  need  for  infinite extensibility at the Host interface
  374.  
  375. can be avoided by using logical addressing (although this is only
  376.  
  377. one of its many advantages).  We can then identify a single  Host
  378.  
  379.  
  380.                               - 6 -
  381.  
  382.  
  383. IEN 188                              Bolt Beranek and Newman Inc.
  384.                                                     Eric C. Rosen
  385.  
  386.  
  387. by   using   a  single,  structure-less,  unique  name  which  is
  388.  
  389. meaningful at each level of internet  hierarchy.   That  is,  the
  390.  
  391. Switches  at  each  level  of  the  hierarchy  would  be  able to
  392.  
  393. recognize the name, and to map it into a physical address that is
  394.  
  395. meaningful at that level of hierarchy.  Neither the end-user  nor
  396.  
  397. the source Host would be responsible for determining the physical
  398.  
  399. addresses  at each level of a never-ending hierarchy.  Of course,
  400.  
  401. neither these arguments, nor those of IEN 183, can be regarded as
  402.  
  403. finally  settling  the  "flat  vs.   hierarchical"   issue.    In
  404.  
  405. networking,  no  one  issue can ever be settled in isolation, and
  406.  
  407. attempts to  do  so  result  only  in  endless  and  unproductive
  408.  
  409. arguments.   A network (or internet) is a whole whose performance
  410.  
  411. and functionality result from the combination of  its  protocols,
  412.  
  413. addressing  schemes,  routing  algorithm,  hardware  and software
  414.  
  415. architecture, etc.  Particular addressing  schemes  can  only  be
  416.  
  417. judged  when  it  is  seen  how they actually fit into particular
  418.  
  419. designs.  The  only  real  argument  in  favor  of  a  particular
  420.  
  421. addressing  scheme  is  that  it  fits  naturally  into a network
  422.  
  423. architecture  which  provides  the   needed   functionality   and
  424.  
  425. performance.   It  is hoped that the addressing scheme we propose
  426.  
  427. will be judged as part of the architecture we are  developing  in
  428.  
  429. this series of papers, rather than in isolation.
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.                               - 7 -
  439.  
  440.  
  441. IEN 188                              Bolt Beranek and Newman Inc.
  442.                                                     Eric C. Rosen
  443.  
  444.  
  445. 3.2  Model of Operation:  An Overview
  446.  
  447.  
  448.      The  model  of  operation we are proposing is as follows.  A
  449.  
  450. source Host submits a packet to  a  source  Switch,  naming  (not
  451.  
  452. addressing)   the  destination  Host.   THE  SOURCE  SWITCH  THEN
  453.  
  454. TRANSLATES (OR MAPS) THAT NAME INTO  A  PHYSICAL  SWITCH  ADDRESS
  455.  
  456. WHICH  IS MEANINGFUL WITHIN ITS OWN NETWORK STRUCTURE;  THAT WILL
  457.  
  458. BE THE ADDRESS OF THE  DESTINATION  SWITCH  WITHIN  THAT  NETWORK
  459.  
  460. STRUCTURE.  The data is then routed through the Network Structure
  461.  
  462. to  the  destination  Switch  so  addressed.   The  name (logical
  463.  
  464. address) of the destination Host  is  also  carried  through  the
  465.  
  466. Network Structure along with the data and the physical address of
  467.  
  468. the destination Switch.  When the destination Switch receives the
  469.  
  470. data,  it  forwards  it to the destination Host over (one of) its
  471.  
  472. Pathway(s) to that Host.  If the Pathway is itself a  network  or
  473.  
  474. internet  configuration  with logical addressing, the name of the
  475.  
  476. destination Host is passed on via the  Pathway  Access  Protocol.
  477.  
  478. If logical addresses or names are not unique across all component
  479.  
  480. networks  of  an  internet, translation from the internet logical
  481.  
  482. address to the Pathway logical address would have to be  done  at
  483.  
  484. this  point.   If  the network or internet underlying the Pathway
  485.  
  486. does not even have logical addressing, the Host name will have to
  487.  
  488. be translated into a Pathway physical address by the  destination
  489.  
  490. Switch.
  491.  
  492.  
  493.  
  494.  
  495.  
  496.                               - 8 -
  497.  
  498.  
  499. IEN 188                              Bolt Beranek and Newman Inc.
  500.                                                     Eric C. Rosen
  501.  
  502.  
  503.      Note  that,  at  any  particular  hierarchical  level (i.e.,
  504.  
  505. within  any  particular  Network  Structure),   the   ADDRESSABLE
  506.  
  507. ENTITIES  are  the  Switches  at that level (which are physically
  508.  
  509. addressed), and all the Hosts (which are logically addressed,  or
  510.  
  511. named).   Component  networks  of  the  internet  are  treated as
  512.  
  513. structure-less  Pathways,  AND  NEITHER  THE  COMPONENT  NETWORKS
  514.  
  515. THEMSELVES  NOR  THE  SWITCHES  OF  THE  COMPONENT  NETWORKS  ARE
  516.  
  517. INDEPENDENTLY ADDRESSABLE.  Furthermore, a name (logical address)
  518.  
  519. which adequately identifies the destination Host  is  present  at
  520.  
  521. each  level  of the hierarchy.  Of course, a particular name only
  522.  
  523. needs to be unique at a single level of the  internet  hierarchy,
  524.  
  525. within  a  particular Network Structure.  The names can change as
  526.  
  527. we travel up and down the hierarchy of  Network  Structures  that
  528.  
  529. make up the internet.
  530.  
  531.  
  532.  
  533. 3.3  Some Issues in Address Translation
  534.  
  535.  
  536.      In  order  to  do  the  sort  of translation from logical to
  537.  
  538. physical address that we have been discussing above, the Switches
  539.  
  540. must have translation tables.  Many of the issues involved in the
  541.  
  542. design of a robust translation table mechanism are  discussed  in
  543.  
  544. IEN  183,  and  much of that discussion applies without change to
  545.  
  546. the internet.  We will confine our discussion here, therefore, to
  547.  
  548. issues which are not considered in that note, or which  are  more
  549.  
  550. specific to the internet environment.
  551.  
  552.  
  553.  
  554.                               - 9 -
  555.  
  556.  
  557. IEN 188                              Bolt Beranek and Newman Inc.
  558.                                                     Eric C. Rosen
  559.  
  560.  
  561.      The  main  problem  with  the  model  of  operation  we have
  562.  
  563. proposed  is  a  very  mundane  one,  but  unfortunately  a  very
  564.  
  565. important  one.   If  there  may  be  thousands  of  Hosts  on an
  566.  
  567. internet, each one with an unlimited number of  different  names,
  568.  
  569. and  if  a  source  Switch  must  be  able to map any name to the
  570.  
  571. address of a destination Switch, then each Switch  will  have  to
  572.  
  573. have  a  very  large  table  of  names  to drive this translation
  574.  
  575. function.  By itself, this is not much of a problem.  To be sure,
  576.  
  577. in the past,  it  has  been  considered  important  to  keep  the
  578.  
  579. gateways as small as possible.  It now seems to be more generally
  580.  
  581. accepted  that  the  current  Catenet gateways provide inadequate
  582.  
  583. performance, and that  building  a  robust  operational  internet
  584.  
  585. system  requires  us  to  build Switches that are large enough to
  586.  
  587. handle the required functionality at a reasonably high  level  of
  588.  
  589. performance.   We would expect Switches built in the future to be
  590.  
  591. much larger than the current gateways are.  However,  it  is  one
  592.  
  593. thing to require large tables, and quite another thing to require
  594.  
  595. tables  which  may grow without bound.  Since the number of Hosts
  596.  
  597. on the internet may grow without bound, it does not seem feasible
  598.  
  599. to require the Switches to have tables with one or  more  entries
  600.  
  601. for each and every Host in the internet.
  602.  
  603.  
  604.      If we cannot fit the complete set of translation tables into
  605.  
  606. each  Switch,  a natural alternative is to turn the tables into a
  607.  
  608. DISTRIBUTED DATA BASE, with each Switch having only a  subset  of
  609.  
  610. the  complete  set  of tables.  For each Switch, there would be a
  611.  
  612.                              - 10 -
  613.  
  614.  
  615. IEN 188                              Bolt Beranek and Newman Inc.
  616.                                                     Eric C. Rosen
  617.  
  618.  
  619. subset of logical addresses  for  which  the  Switch  would  have
  620.  
  621. complete   physical   addressing   information.    These  logical
  622.  
  623. addresses would fall into one of two classes:
  624.  
  625.  
  626.      1) Those logical addresses which refer to  Hosts  which  are
  627.  
  628.         homed  (in  some  Network  Structure)  directly  to  that
  629.  
  630.         Switch.
  631.  
  632.  
  633.      2) Those logical addresses  which  refer  to  distant  Hosts
  634.  
  635.         which  are in FREQUENT communication with the Hosts which
  636.  
  637.         are directly homed to that Switch.
  638.  
  639.  
  640. The logical addresses in these two classes are the ones for which
  641.  
  642. the   Switch   will   be   most   often   called   upon   to   do
  643.  
  644. logical-to-physical address translation, and for best efficiency,
  645.  
  646. the  information needed to do the translation ought to be present
  647.  
  648. in the Switches.  For other logical  addresses,  which  are  less
  649.  
  650. often  seen,  all  that is needed is for the Switch to know where
  651.  
  652. the address translation information can  be  found.   Then  if  a
  653.  
  654. packet  with an infrequently-seen logical address is encountered,
  655.  
  656. it can be forwarded to a place where the  proper  information  is
  657.  
  658. known  to  reside,  or  else  the  packet  can  be held while the
  659.  
  660. information is obtained.  (We may want to have a scheme which  is
  661.  
  662. a  hybrid  of  these two alternatives.  For example, packets with
  663.  
  664. logical addresses that are not contained in the  resident  tables
  665.  
  666. can be forwarded to a place with more addressing information, and
  667.  
  668. this  can  in  turn cause the needed addressing information to be
  669.  
  670.                              - 11 -
  671.  
  672.  
  673. IEN 188                              Bolt Beranek and Newman Inc.
  674.                                                     Eric C. Rosen
  675.  
  676.  
  677. sent back to the source Switch, so that additional  packets  with
  678.  
  679. the  same  address  can be handled directly by the source Switch.
  680.  
  681. That is, the source Switch might maintain,  in  addition  to  its
  682.  
  683. permanently  resident tables, a cache of the most recently needed
  684.  
  685. addressing information.)
  686.  
  687.  
  688.      It is important to note that the two classes  defined  above
  689.  
  690. may  vary  dynamically,  and we may want a procedure for altering
  691.  
  692. the members of those classes in some  specific  Switch  depending
  693.  
  694. upon the traffic that the Switch is actually seeing in real time.
  695.  
  696.  
  697.      Unfortunately,  any  such  scheme  would seem to require the
  698.  
  699. inclusion of at least one additional level of  hierarchy  in  the
  700.  
  701. addressing  structure, since when a Switch sees a logical address
  702.  
  703. for which it does not have complete information, it must be  able
  704.  
  705. to  determine  how  to get that complete information.  The scheme
  706.  
  707. would be self-defeating if it meant that we had to have  a  table
  708.  
  709. of  all the logical addresses, with an indication for each one of
  710.  
  711. which other Switch has the complete information.  Rather, we need
  712.  
  713. to be able to group the logical addresses into "areas", of  which
  714.  
  715. there will be a bounded number.  Then each Switch will be able to
  716.  
  717. keep a table indicating which other Switches contain the complete
  718.  
  719. translation information for each area.  This table of areas would
  720.  
  721. then  be  the only part of the complete set of translation tables
  722.  
  723. that had to be resident at ALL Switches.  While this is much more
  724.  
  725. feasible than requiring each Switch to keep  a  table  containing
  726.  
  727.  
  728.                              - 12 -
  729.  
  730.  
  731. IEN 188                              Bolt Beranek and Newman Inc.
  732.                                                     Eric C. Rosen
  733.  
  734.  
  735. all  the  logical  addresses,  it does means that the destination
  736.  
  737. address provided by the source  Host  must  include  not  only  a
  738.  
  739. destination  Host  identifier,  but  also an "area code" for that
  740.  
  741. logical address.
  742.  
  743.  
  744.      If we are going to organize the  logical  addresses  of  all
  745.  
  746. internet  Hosts  into a relatively small set of "areas", we would
  747.  
  748. like to find some means of organization which is fairly  optimal.
  749.  
  750. Unfortunately, there are a number of fairly subtle considerations
  751.  
  752. which   make  this  quite  tricky  to  do.   Certain  intuitively
  753.  
  754. attractive ways of organizing the internet into these areas  will
  755.  
  756. result  in  various  sorts  of  significant  and  quite  annoying
  757.  
  758. sub-optimalities.  Suppose, for example,  we  treated  "area"  as
  759.  
  760. meaning  "home network", much as in the present Catenet IP (where
  761.  
  762. network number is  part  of  the  address  that  the  Hosts  must
  763.  
  764. specify.) Then we would require all and only the ARPANET gateways
  765.  
  766. to contain the logical-to-physical addressing information for the
  767.  
  768. ARPANET  Hosts,  all  and only the SATNET gateways to contain the
  769.  
  770. tables for the logical addresses of the SATNET Hosts,  etc.   The
  771.  
  772. user,  in  addressing  a particular Host, would not only name it,
  773.  
  774. but also name its "home network", and  the  source  Switch  would
  775.  
  776. choose  some Switch which interfaces directly to the home network
  777.  
  778. of the destination Host from  which  to  obtain  the  translation
  779.  
  780. information.   This  method of organization, however, has several
  781.  
  782. unsatisfactory consequences.  One problem is that if any Host  is
  783.  
  784. on  two  "home networks", we want the Switches, not the Hosts, to
  785.  
  786.                              - 13 -
  787.  
  788.  
  789. IEN 188                              Bolt Beranek and Newman Inc.
  790.                                                     Eric C. Rosen
  791.  
  792.  
  793. choose which "destination network" to use.  This is necessary  if
  794.  
  795. we  want  the  routing  algorithm to be able to choose the "best"
  796.  
  797. path to some destination Host, and is  really  the  only  way  of
  798.  
  799. ensuring  that packets can be delivered to a Host over some path,
  800.  
  801. if one of the Host's home networks is down but the other  is  up.
  802.  
  803. (This  is  jumping  ahead  a  bit, since a full discussion of the
  804.  
  805. "partitioned net" problem will not appear until section 3.4.  The
  806.  
  807. point, though, is that the choice of "home network" to  use  when
  808.  
  809. sending  traffic  to  a  particular destination Host is a ROUTING
  810.  
  811. PROBLEM, NOT AN ADDRESSING PROBLEM.  Therefore  it  ought  to  be
  812.  
  813. totally  in  the  province of the Switches, which are responsible
  814.  
  815. for routing, and not at all in the province of the  Hosts,  which
  816.  
  817. must participate in the addressing, but not the routing.)
  818.  
  819.  
  820.      Another  problem arises as follows.  Suppose we have adopted
  821.  
  822. the scheme of sending packets for a certain area to a  Switch  in
  823.  
  824. that   area,   depending   on  that  Switch  to  do  the  further
  825.  
  826. logical-to-physical translation.  It is possible that  when  this
  827.  
  828. further  translation  is  done, we will find that the route which
  829.  
  830. the packet travels from that Switch takes  it  back  through  the
  831.  
  832. source   Switch.    This   could   mean   a   very   lengthy  and
  833.  
  834. delay-producing "detour" for  the  packet.   It  might  at  first
  835.  
  836. appear  that  this  is  not very likely.  If a packet is going to
  837.  
  838. some ARPANET Host, and  we  send  it  to  some  Switch  which  is
  839.  
  840. directly  connected to the ARPANET, surely we have sent it closer
  841.  
  842. to its final destination, not further away.  Unfortunately,  that
  843.  
  844.                              - 14 -
  845.  
  846.  
  847. IEN 188                              Bolt Beranek and Newman Inc.
  848.                                                     Eric C. Rosen
  849.  
  850.  
  851. just  is  not  necessarily true.  Network partition or congestion
  852.  
  853. may force a packet for an ARPANET Host to travel from an  ARPANET
  854.  
  855. gateway to a gateway (or series of gateways) outside the ARPANET,
  856.  
  857. back around (through a potentially long route) to another ARPANET
  858.  
  859. gateway.   (Consider  the  partitioned  net  and  the  expressway
  860.  
  861. problems.)  In such cases, the Network Structure may  already  be
  862.  
  863. in  a  condition of stress which is likely to result in below par
  864.  
  865. performance.  We do not want to make things even worse by  adding
  866.  
  867. any  further  unnecessary  but  lengthy  detours  just because we
  868.  
  869. cannot keep all the addressing information at the source  Switch.
  870.  
  871.  
  872.      One  way  of  helping to avoid these sorts of problems is to
  873.  
  874. separate the notion of "area" from  any  physical  meaning.   The
  875.  
  876. purpose  of  adding  the notion of area to the logical addressing
  877.  
  878. scheme is just to enable us to distribute the data base needed to
  879.  
  880. do logical-to-physical address translation.  There is  no  reason
  881.  
  882. to  suppose  that  the  addressing  information  needed  for some
  883.  
  884. particular Host ought to be contained only in Switches  that  are
  885.  
  886. "near"  that  Host.   That  would  be  a  mistake.   Rather,  the
  887.  
  888. addressing information ought to be somewhere which is "near"  the
  889.  
  890. SOURCE  Host,  not  somewhere which is near the destination Host.
  891.  
  892. This maximizes the chances that the necessary address translation
  893.  
  894. will be done as soon as possible  after  the  packet  enters  the
  895.  
  896. Network Structure.  The sooner we do the address translation, the
  897.  
  898. more  information we have which we can make use of to improve the
  899.  
  900. routing of the  packet,  and  the  less  likely  any  unnecessary
  901.  
  902. detours will be.
  903.                              - 15 -
  904.  
  905.  
  906. IEN 188                              Bolt Beranek and Newman Inc.
  907.                                                     Eric C. Rosen
  908.  
  909.  
  910.      One  might  think  that at least Hosts which are on the same
  911.  
  912. home network should be grouped into the  same  area.   This  will
  913.  
  914. work  until  the  first  time a Host is moved from one network to
  915.  
  916. another.  Since the area codes are given by the  individual  Host
  917.  
  918. or  user as part of the address in the Network Access Protocol of
  919.  
  920. the internet, changing a Host's area code would involve  changing
  921.  
  922. Host-level   software   or  tables,  which  has  to  be  avoided.
  923.  
  924. (Avoiding  the  need  to  make  such  changes  when  Hosts   move
  925.  
  926. physically   is  one  of  the  main  reasons  for  using  logical
  927.  
  928. addressing.)  So we really have to think  of  "areas"  as  random
  929.  
  930. collections of Hosts.
  931.  
  932.  
  933.      What we are proposing is a truly distributed logical address
  934.  
  935. translation  table,  rather  than  a  scheme  where  each  Switch
  936.  
  937. maintains only local information.  To make  this  more  concrete,
  938.  
  939. consider  how  this  might  be  done  in  the  Catenet.   All the
  940.  
  941. information about logical addresses which refer to Hosts  on  the
  942.  
  943. ARPANET would be contained not only in all the gateways which are
  944.  
  945. directly  connected  to  the  ARPANET,  but  also  in  a  set  of
  946.  
  947. additional gateways which  are  uniformly  scattered  around  the
  948.  
  949. internet.  Then, although the addressing information would not be
  950.  
  951. in  every potential source Switch, it would be somewhere close to
  952.  
  953. every potential source Switch, and  packets  would  not  have  to
  954.  
  955. travel  a  long  distance only to find out that they are going in
  956.  
  957. the wrong direction.
  958.  
  959.  
  960.  
  961.                              - 16 -
  962.  
  963.  
  964. IEN 188                              Bolt Beranek and Newman Inc.
  965.                                                     Eric C. Rosen
  966.  
  967.  
  968. 3.4  Model of Operation:  More Detail
  969.  
  970.  
  971.      Let's assume that a source Host has given  a  message  to  a
  972.  
  973. source  Switch,  with  a  logical  address  and  an  "area  code"
  974.  
  975. indicating the destination Host.  If the source Switch  does  not
  976.  
  977. have  the complete address translation information in its tables,
  978.  
  979. it will look in its table of area codes.   The  given  area  code
  980.  
  981. will  be associated in the latter table with some set of Switches
  982.  
  983. (within the same Network Structure).  The sequence of  operations
  984.  
  985. that we envisage is the following:
  986.  
  987.  
  988.      1) The source Switch picks one of these Switches, and  sends
  989.  
  990.         the message to it.  There must be enough protocol between
  991.  
  992.         these  two  Switches so that the chosen Switch knows that
  993.  
  994.         it is not the  final  destination  Switch,  but  only  an
  995.  
  996.         intermediate  Switch, and that it is expected to complete
  997.  
  998.         the address translation and then to forward  the  message
  999.  
  1000.         further.
  1001.  
  1002.  
  1003.      2) The chosen Switch must be able to recognize  the  logical
  1004.  
  1005.         address  of  the  destination Host, and associate it with
  1006.  
  1007.         one or more possible destination Switches.   The  message
  1008.  
  1009.         will be forwarded to one of these Switches.  Furthermore,
  1010.  
  1011.         the addressing information can be sent back to the source
  1012.  
  1013.         Switch  where  it  can  be  held  in  a cache in case the
  1014.  
  1015.         message is followed by a flood of additional messages for
  1016.  
  1017.         the same logical address.
  1018.  
  1019.                              - 17 -
  1020.  
  1021.  
  1022. IEN 188                              Bolt Beranek and Newman Inc.
  1023.                                                     Eric C. Rosen
  1024.  
  1025.  
  1026.      In the case where the source Switch  does  contain  complete
  1027.  
  1028. address  translation  information  for  the  destination  logical
  1029.  
  1030. address, that logical address will be associated with some set of
  1031.  
  1032. potential destination Switches.  The source  Switch  will  choose
  1033.  
  1034. one, and send the message directly to it.
  1035.  
  1036.  
  1037.      Logical-to-physical  address  translation  should be done by
  1038.  
  1039. only one Switch; either the source Switch or the Switch chosen by
  1040.  
  1041. the source Switch on the basis of the area  code.   There  is  no
  1042.  
  1043. need to allow intermediate Switches to do any logical-to-physical
  1044.  
  1045. address  translation.   (There  is  only  one  exception to this,
  1046.  
  1047. namely the case where a message arrives at an intermediate Switch
  1048.  
  1049. only to discover that the destination Switch chosen by the source
  1050.  
  1051. Switch is no longer accessible.  In this case, re-translation  is
  1052.  
  1053. the alternative to dropping the message entirely.)  Remember that
  1054.  
  1055. many  Hosts will be multi-homed (in the internet, virtually every
  1056.  
  1057. Host is multi-homed, since most networks will have at  least  two
  1058.  
  1059. internet  gateways  connected  to  them),  so  that there will in
  1060.  
  1061. general  be  more  than  one  possible  destination  Switch.   By
  1062.  
  1063. prohibiting re-translation at intermediate Switches, we avoid the
  1064.  
  1065. problems  of  looping  that might arise if different intermediate
  1066.  
  1067. Switches make different choices of  destination  Switch.   As  we
  1068.  
  1069. shall  see,  this also simplifies our approach to the partitioned
  1070.  
  1071. net problem, and at any rate, there  is  no  great  advantage  to
  1072.  
  1073. allowing intermediate Switch translation (cf. IEN 183).
  1074.  
  1075.  
  1076.  
  1077.                              - 18 -
  1078.  
  1079.  
  1080. IEN 188                              Bolt Beranek and Newman Inc.
  1081.                                                     Eric C. Rosen
  1082.  
  1083.  
  1084.      We  suggested  above  that  if  a  source  Switch  does  not
  1085.  
  1086. recognize a particular logical address, and  hence  must  send  a
  1087.  
  1088. message  to  another Switch (as determined by the area code), the
  1089.  
  1090. latter Switch should send the addressing information back to  the
  1091.  
  1092. source  Switch,  to  be  kept temporarily in a cache.  We have to
  1093.  
  1094. emphasize "temporarily." The source Switch should  time  out  the
  1095.  
  1096. addressing  information  which  it  keeps  in the cache, and then
  1097.  
  1098. discard it.  If it later receives from any of  its  source  Hosts
  1099.  
  1100. any subsequent messages for the same destination logical address,
  1101.  
  1102. it will have to reobtain the information.  The reason for this is
  1103.  
  1104. that  it  will  be  necessary,  from  time to time, to change the
  1105.  
  1106. translation tables.  It is not that hard to develop  an  updating
  1107.  
  1108. procedure which ensures consistent updating of all Switches where
  1109.  
  1110. the information about a logical address normally resides.  But it
  1111.  
  1112. might  be  more  difficult  to  develop a procedure which ensures
  1113.  
  1114. consistent updating of all the temporary (cached) copies of  that
  1115.  
  1116. information.   Timing  out the temporary copies of the addressing
  1117.  
  1118. information  will  prevent  out-of-date  information  from  being
  1119.  
  1120. preserved  in  inappropriate  places.   (Though  the  use  of  an
  1121.  
  1122. out-of-date translation is not so terrible, since it would elicit
  1123.  
  1124. a DNA message, rather than causing mis-delivery of data.  See IEN
  1125.  
  1126. 183 for details.   In  this  sense,  out-of-date  information  is
  1127.  
  1128. self-correcting.)
  1129.  
  1130.  
  1131.      When  either a destination Host name (logical address) or an
  1132.  
  1133. area code maps into several  Switches,  the  source  Switch  must
  1134.  
  1135.                              - 19 -
  1136.  
  1137.  
  1138. IEN 188                              Bolt Beranek and Newman Inc.
  1139.                                                     Eric C. Rosen
  1140.  
  1141.  
  1142. apply  some  criterion  to  choose  one from among them, since in
  1143.  
  1144. general we will want to send only one copy of the message to  its
  1145.  
  1146. destination.   (Though there may indeed be cases in which we want
  1147.  
  1148. to send a copy  of  the  message  to  each  possible  destination
  1149.  
  1150. Switch, in order to increase the reliability of the system, or to
  1151.  
  1152. be  sure  that we get the message to its destination Host as fast
  1153.  
  1154. as possible.)  There are several possible criteria that we  might
  1155.  
  1156. consider using:
  1157.  
  1158.  
  1159.      a) We might always choose the "closest" Switch, according to
  1160.  
  1161.         some particular distance metric (which might or might not
  1162.  
  1163.         be   the   same  distance  metric  used  by  the  routing
  1164.  
  1165.         algorithm).
  1166.  
  1167.  
  1168.      b) The list of potential destination Switches might  have  a
  1169.  
  1170.         "built-in" ordering, so that the first one is always used
  1171.  
  1172.         unless it is down, in which case the second one is always
  1173.  
  1174.         used,  unless  it is down, in which case the third one is
  1175.  
  1176.         used, etc.
  1177.  
  1178.  
  1179.      c) If the set of  potential  destination  Switches  has  the
  1180.  
  1181.         right  sort  of topological distribution, we might try to
  1182.  
  1183.         round-robin  them  in  order  to  achieve  some  sort  of
  1184.  
  1185.         load-splitting.
  1186.  
  1187.  
  1188.      d) If we can obtain  some  information  about  the  relative
  1189.  
  1190.         loadings  of  the  various Switches, we can try to choose
  1191.  
  1192.  
  1193.                              - 20 -
  1194.  
  1195.  
  1196. IEN 188                              Bolt Beranek and Newman Inc.
  1197.                                                     Eric C. Rosen
  1198.  
  1199.  
  1200.         the one with the smallest load (to try to  avoid  causing
  1201.  
  1202.         congestion  within the destination Switches), or we might
  1203.  
  1204.         try to trade off the increase in load that we will  cause
  1205.  
  1206.         at  the  destination  Switch with the distance we have to
  1207.  
  1208.         travel to get there.
  1209.  
  1210.  
  1211.      e) Certain possible destination Switches  might  be  favored
  1212.  
  1213.         for  certain  classes  of  traffic  (as determined by the
  1214.  
  1215.         "type  of  service"   field,   or   by   access   control
  1216.  
  1217.         considerations).   That  is, certain destination Switches
  1218.  
  1219.         might be favored for  interactive  traffic,  and  certain
  1220.  
  1221.         others  (with more capacity?) for bulk traffic.  Or there
  1222.  
  1223.         might be administrative access control restrictions which
  1224.  
  1225.         prohibit certain classes of traffic from  being  sent  to
  1226.  
  1227.         certain  Switches.   (This may be particularly applicable
  1228.  
  1229.         in an internet context where different Switches are under
  1230.  
  1231.         the  control  of  different   administrations.    It   is
  1232.  
  1233.         possible, though, to imagine applications of this sort of
  1234.  
  1235.         access  control  even  in a single-administration Network
  1236.  
  1237.         Structure.   For  example,  we  might  want  to  prohibit
  1238.  
  1239.         military traffic from entering certain Switches, in order
  1240.  
  1241.         to  preserve  capacity for important university traffic.)
  1242.  
  1243.  
  1244.      f) It is possible to combine some  of  the  above  criteria,
  1245.  
  1246.         e.g.,  choose  the  closest (i.e., shortest delay) Switch
  1247.  
  1248.         for interactive traffic and the most lightly  loaded  one
  1249.  
  1250.         for bulk traffic.
  1251.                              - 21 -
  1252.  
  1253.  
  1254. IEN 188                              Bolt Beranek and Newman Inc.
  1255.                                                     Eric C. Rosen
  1256.  
  1257.  
  1258. Remember that in the internet case, all the Hosts on some network
  1259.  
  1260. are  considered  to be homed to all the gateways on that network,
  1261.  
  1262. so that in general most Hosts will be multi-homed, and the way we
  1263.  
  1264. select the destination Switch could have a significant effect  on
  1265.  
  1266. internet performance.
  1267.  
  1268.  
  1269.      Of  course,  a  destination  Switch might itself have two or
  1270.  
  1271. more Pathways to a  particular  destination  Host.   Perhaps  the
  1272.  
  1273. Switch  is  a  gateway  on  two networks, and the Host is also on
  1274.  
  1275. those two networks.  Or perhaps the Switch  is  multi-homed  onto
  1276.  
  1277. the  network  of  the  Host.   In  such  cases,  a further choice
  1278.  
  1279. remains -- the destination Switch must choose  which  of  several
  1280.  
  1281. possible  Pathways  to  the  destination  Host  it should use for
  1282.  
  1283. sending  some  particular  packet.   Each  (destination)  Switch,
  1284.  
  1285. therefore, will have to have a second logical-to-physical address
  1286.  
  1287. translation  table,  which  it  accesses  in  order to choose the
  1288.  
  1289. proper Pathway to a destination Host.   This  second  translation
  1290.  
  1291. table,   however,  contains  information  which  is  only  useful
  1292.  
  1293. locally.  In addition to containing information needed to map the
  1294.  
  1295. logical address onto one of the Switch's access  lines,  it  must
  1296.  
  1297. also  contain  any  information  needed  in  order to specify the
  1298.  
  1299. address of the destination Host in the Pathway  Access  Protocol.
  1300.  
  1301. In  some  cases,  the  logical  address  of the Host in its "home
  1302.  
  1303. network" may be the same as its logical address in the  internet,
  1304.  
  1305. in  which  case  no additional information is needed.  If this is
  1306.  
  1307. not the case, or if the "home  network"  does  not  have  logical
  1308.  
  1309.                              - 22 -
  1310.  
  1311.  
  1312. IEN 188                              Bolt Beranek and Newman Inc.
  1313.                                                     Eric C. Rosen
  1314.  
  1315.  
  1316. addressing, the local translation tables must contain information
  1317.  
  1318. for  mapping  the internet logical address to an address (logical
  1319.  
  1320. or physical) which is meaningful  in  the  "home  network."   The
  1321.  
  1322. issues  of  choosing  one  from  among a set of possible Pathways
  1323.  
  1324. according to some criteria are basically the  same  as  those  we
  1325.  
  1326. have  been  discussing from the perspective of the source Switch,
  1327.  
  1328. however.
  1329.  
  1330.  
  1331.      An interesting little issue: suppose that traffic for Host H
  1332.  
  1333. can be sent to either Switch A or B, but that the route to Switch
  1334.  
  1335. B contains Switch A as an intermediate Switch.   Does  this  mean
  1336.  
  1337. that  the traffic should always be sent to A, rather than B?  Not
  1338.  
  1339. necessarily.  Perhaps A has plenty  of  bandwidth  available  for
  1340.  
  1341. forwarding traffic to other Switches, but only a little available
  1342.  
  1343. for  sending  traffic  directly  to  a Host.  Or the Pathway from
  1344.  
  1345. Switch A to Host H may itself have such a long delay that  it  is
  1346.  
  1347. quicker  to  send  the  traffic  through  A  to B and then on B's
  1348.  
  1349. Pathway to H.  While  it may turn out to  be  very  difficult  to
  1350.  
  1351. take  account of such factors, we ought not to rule them out by a
  1352.  
  1353. priori considerations, and we ought not to  design  a  system  in
  1354.  
  1355. which such factors cannot be considered.
  1356.  
  1357.  
  1358.      A  variant on this issue can arise as follows.  Suppose Host
  1359.  
  1360. H1 wants to send some data to Host H2, and H1 puts this data into
  1361.  
  1362. the internet by submitting it to source Switch  S.   Now  S  will
  1363.  
  1364. look  in  its  address  translation  table  to  find the possible
  1365.  
  1366.  
  1367.                              - 23 -
  1368.  
  1369.  
  1370. IEN 188                              Bolt Beranek and Newman Inc.
  1371.                                                     Eric C. Rosen
  1372.  
  1373.  
  1374. destination Switches for H2.  Let's suppose that  there  are  two
  1375.  
  1376. such  possible  destination  Switches, one of which is D, and the
  1377.  
  1378. other of which is S itself.  That is, S has a choice  of  sending
  1379.  
  1380. the  data  directly  to  H2  (over a Pathway with no intermediate
  1381.  
  1382. Switches), or of sending it to D, so D can transmit  it  directly
  1383.  
  1384. to  H2.   Nothing  in  the proposed scheme constrains S to choose
  1385.  
  1386. itself as the destination Switch.  If we want, we can have S make
  1387.  
  1388. the choice of  destination  Switch  without  taking  any  special
  1389.  
  1390. cognizance  of  the fact that it itself is a possible destination
  1391.  
  1392. Switch.  Or we might even require that S not choose itself as the
  1393.  
  1394. destination Switch.  That is, when a gateway on the ARPANET,  for
  1395.  
  1396. example,  gets  some  data from an ARPANET Host which is destined
  1397.  
  1398. for another ARPANET Host, maybe we  want  the  data  to  be  sent
  1399.  
  1400. through  another  gateway, rather than just sending it right back
  1401.  
  1402. into the ARPANET.  This possibility might be crucial  to  solving
  1403.  
  1404. the "expressway" problem.  While we are not at present making any
  1405.  
  1406. proposals for allowing the internet to be used as an "expressway"
  1407.  
  1408. between  two  Hosts  on  a common, but very slow, network, we are
  1409.  
  1410. trying to ensure that nothing in our proposed  addressing  scheme
  1411.  
  1412. will  make  this impossible.  This is a very important difference
  1413.  
  1414. between our proposed scheme and the scheme presently  implemented
  1415.  
  1416. in  the  Catenet, where a source Switch which is also a potential
  1417.  
  1418. destination Switch is highly constrained to pick  itself  as  the
  1419.  
  1420. actual  destination  Switch.   Of course, for this to work, there
  1421.  
  1422. must be enough protocol so that a Switch which receives some data
  1423.  
  1424.  
  1425.                              - 24 -
  1426.  
  1427.  
  1428. IEN 188                              Bolt Beranek and Newman Inc.
  1429.                                                     Eric C. Rosen
  1430.  
  1431.  
  1432. can know whether it is getting it directly from a source Host, or
  1433.  
  1434. whether it is getting it from another Switch.
  1435.  
  1436.  
  1437.      When we say that a particular Host name maps onto a  set  of
  1438.  
  1439. possible  Switches, what we are really saying is that each member
  1440.  
  1441. of that set of Switches has a Pathway to the Host.  Remember  the
  1442.  
  1443. definition  of  "Pathway"  --  a  Pathway  in Network Structure N
  1444.  
  1445. between two Switches of Network Structure N or between  a  Switch
  1446.  
  1447. and  a  Host  of  Network  Structure  N  is a communications path
  1448.  
  1449. between the two entities which does not contain any  Switches  of
  1450.  
  1451. Network Structure N.  The logical-to-physical address translation
  1452.  
  1453. tables  will  not  map  a  Host  name  to  a  particular  set  of
  1454.  
  1455. destination Switches unless each of those Switches has a  Pathway
  1456.  
  1457. to  that Host.  But we must remember that at any particular time,
  1458.  
  1459. one or more of these Pathways may be down.  Before we  apply  the
  1460.  
  1461. above  criteria  (or  others)  to the set of possible destination
  1462.  
  1463. Switches in order to choose  a  particular  one,  we  must  first
  1464.  
  1465. eliminate  from  the  set  any  Switches  whose  Pathway  to  the
  1466.  
  1467. destination Host is down.   This  is  a  non-trivial  task  which
  1468.  
  1469. breaks down naturally into two sub-tasks.  First, the destination
  1470.  
  1471. Switch  must  be  able  to  determine which of the Hosts that are
  1472.  
  1473. normally homed to  it  is  reachable  at  some  particular  time.
  1474.  
  1475. Second,  this  information must be fed back to the source Switch.
  1476.  
  1477. Each of these sub-tasks raises a number of interesting issues.
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.                              - 25 -
  1484.  
  1485.  
  1486. IEN 188                              Bolt Beranek and Newman Inc.
  1487.                                                     Eric C. Rosen
  1488.  
  1489.  
  1490.      In IEN 187, we discussed the importance of having a  Pathway
  1491.  
  1492. up/down  protocol  run between each Host and each Switch to which
  1493.  
  1494. it is homed, so that a source Host can know which source Switches
  1495.  
  1496. it has a currently operational Pathway to.  Now we see the  other
  1497.  
  1498. side  of  the  coin  --  each  destination Switch must be able to
  1499.  
  1500. determine which Hosts it currently has an operational Pathway to.
  1501.  
  1502. Many of the considerations discussed in IEN 187 apply  here  too,
  1503.  
  1504. and need not be mentioned again.  Basically, the Switch will have
  1505.  
  1506. to  run  a low-level up/down protocol which relies on the network
  1507.  
  1508. which underlies the Pathway to tell it whether a particular  Host
  1509.  
  1510. is reachable (e.g., the ARPANET returns an 1822 DEAD Reply to any
  1511.  
  1512. ARPANET source Host which attempts to send a non-datagram message
  1513.  
  1514. to  an  unreachable  destination  Host), and the Switch will also
  1515.  
  1516. have to run a higher-level up/down protocol  whereby  it  queries
  1517.  
  1518. the Host and infers that the Host is unreachable if no replies to
  1519.  
  1520. the queries are received.  Of course, if some Pathway consists of
  1521.  
  1522. a  simple  datagram-oriented network that provides no feedback to
  1523.  
  1524. the source, then a higher-level protocol will  have  to  be  used
  1525.  
  1526. alone.
  1527.  
  1528.  
  1529.      Assuming  that  the  Switches  have  some way of determining
  1530.  
  1531. whether their Pathways to particular Hosts  are  operational,  we
  1532.  
  1533. have   the   following   subsidiary   issue   --   should   these
  1534.  
  1535. determinations be made on a regular basis,  for  all  Hosts  that
  1536.  
  1537. might be reachable, or should they be made on an exception basis,
  1538.  
  1539. with the information obtained only as needed?  Let's consider the
  1540.  
  1541.                              - 26 -
  1542.  
  1543.  
  1544. IEN 188                              Bolt Beranek and Newman Inc.
  1545.                                                     Eric C. Rosen
  1546.  
  1547.  
  1548. analogous  operation in the ARPANET.  In the ARPANET, the up/down
  1549.  
  1550. status of each Host is maintained continuously, as  a  matter  of
  1551.  
  1552. course,   by   the  IMP  to  which  that  Host  is  homed.   This
  1553.  
  1554. information, however, is not generally maintained at other  IMPs.
  1555.  
  1556. If  a packet for a dead Host (on a live IMP) is submitted to some
  1557.  
  1558. source IMP, the packet will always be  sent  to  the  destination
  1559.  
  1560. IMP,  which will (unless the packet is a datagram) return an 1822
  1561.  
  1562. DEAD reply.  The source IMP receives the DEAD reply,  signals  it
  1563.  
  1564. to  the  source Host, and then discards the information.  IMPs do
  1565.  
  1566. not maintain status  information  about  remote  Hosts,  but  the
  1567.  
  1568. information  is  available  to  them as they need it (i.e., on an
  1569.  
  1570. exception basis).  On the other hand, each IMP  always  maintains
  1571.  
  1572. complete,   accurate,   and   up-to-date  information  about  the
  1573.  
  1574. reachability of each other IMP.  Whenever any IMP  goes  down  or
  1575.  
  1576. comes  up,  this information is broadcast to all other IMPs in an
  1577.  
  1578. extremely quick and reliable manner.  If a source  Host  attempts
  1579.  
  1580. to send a packet to a Host on an unreachable IMP, no data is sent
  1581.  
  1582. across  the network at all; the source IMP already knows that the
  1583.  
  1584. destination IMP cannot be reached,  and  tells  the  source  Host
  1585.  
  1586. immediately.
  1587.  
  1588.  
  1589.      Why don't IMPs maintain regular status information about all
  1590.  
  1591. ARPANET Hosts?  It's not as if this is against the law, and under
  1592.  
  1593. certain  conditions, it might be advantageous to do so.  However,
  1594.  
  1595. the more entities  about  which  regular  status  information  is
  1596.  
  1597. maintained, the more bandwidth (trunk and CPU) and memory must be
  1598.  
  1599.                              - 27 -
  1600.  
  1601.  
  1602. IEN 188                              Bolt Beranek and Newman Inc.
  1603.                                                     Eric C. Rosen
  1604.  
  1605.  
  1606. devoted   to   handling  the  information.   With  a  potentially
  1607.  
  1608. unbounded number of Hosts being able to connect to  the  ARPANET,
  1609.  
  1610. it  does  not  seem feasible for all IMPs to maintain this status
  1611.  
  1612. information for every Host.   Fortunately,  it  just  is  not  as
  1613.  
  1614. important  to  maintain status information for Hosts as it is for
  1615.  
  1616. IMPs.  Status information about the IMPs is necessary in order to
  1617.  
  1618. do routing, so failure to  maintain  this  information  regularly
  1619.  
  1620. would  degrade  the  routing capability, with a consequent global
  1621.  
  1622. degradation in network service.  Since Hosts, on the other  hand,
  1623.  
  1624. are not used for storing-and-forwarding packets, routing does not
  1625.  
  1626. have  to  be so aware of Host status, and global degradations due
  1627.  
  1628. to incorrect assumptions about Host status are less likely.
  1629.  
  1630.  
  1631.      If we can't expect ARPANET IMPs to maintain  regular  status
  1632.  
  1633. information  for  each  Host,  we certainly can't expect internet
  1634.  
  1635. gateways to maintain regular  status  information  for  each  and
  1636.  
  1637. every  Host  in  the  internet.   In  fact,  in the internet, the
  1638.  
  1639. situation is even worse.  In  the  ARPANET,  each  IMP  at  least
  1640.  
  1641. maintains regular status information about the few Hosts to which
  1642.  
  1643. it is directly connected.  This is simple enough to do, since the
  1644.  
  1645. number of Hosts on an IMP is bounded (barring the introduction of
  1646.  
  1647. local  nets or port expanders) and there are machine instructions
  1648.  
  1649. to detect the state of the Ready Line.  However,  we  can  hardly
  1650.  
  1651. expect a gateway to maintain regular status information about all
  1652.  
  1653. the  Hosts  on  all the networks to which the gateway is directly
  1654.  
  1655. connected.   So  we  will  suppose  that   in   general,   status
  1656.  
  1657.                              - 28 -
  1658.  
  1659.  
  1660. IEN 188                              Bolt Beranek and Newman Inc.
  1661.                                                     Eric C. Rosen
  1662.  
  1663.  
  1664. information  about  the  Hosts  which  are  homed to a particular
  1665.  
  1666. Switch will be obtained by that Switch on an exception basis,  as
  1667.  
  1668. needed.  Of course, saying that this will be true in general does
  1669.  
  1670. not  mean  that  it must be universally true.  If there are a few
  1671.  
  1672. Hosts somewhere that are major servers with many  many  important
  1673.  
  1674. users  scattered  around the internet, there is no reason why the
  1675.  
  1676. Switches to which those servers are homed cannot maintain regular
  1677.  
  1678. status information about those few Hosts.  If the number of  such
  1679.  
  1680. special  Hosts  is  kept  small,  this would not be prohibitively
  1681.  
  1682. expensive, and if these Hosts really do handle a large portion of
  1683.  
  1684. the internet traffic,  this  might  be  an  important  efficiency
  1685.  
  1686. savings.
  1687.  
  1688.  
  1689.      If  a source Switch knows that a particular destination Host
  1690.  
  1691. logical address can be mapped to any of a number  of  destination
  1692.  
  1693. Switches,  then,  as we have pointed out, it must be able to tell
  1694.  
  1695. when, due to some sort  of  failure  or  network  partition,  the
  1696.  
  1697. destination Host is (temporarily) unreachable via some particular
  1698.  
  1699. Switch.   It  must  have  that information in order to be able to
  1700.  
  1701. avoid choosing a destination Switch whose Pathway to the Host  is
  1702.  
  1703. non-operational.   If  we  agree  that the Pathway up/down status
  1704.  
  1705. between  a  particular  destination  Switch  and   a   particular
  1706.  
  1707. destination  Host  which  is  ordinarily  homed to it can only be
  1708.  
  1709. obtained, on an  exception  basis,  by  that  destination  Switch
  1710.  
  1711. itself,  it  follows  that  this  information  can  also  only be
  1712.  
  1713. obtained by the source Switch on an exception  basis.   That  is,
  1714.  
  1715.                              - 29 -
  1716.  
  1717.  
  1718. IEN 188                              Bolt Beranek and Newman Inc.
  1719.                                                     Eric C. Rosen
  1720.  
  1721.  
  1722. the  only  way  for a source Switch to find out that a particular
  1723.  
  1724. Host  can  temporarily  not  be  reached  through  a   particular
  1725.  
  1726. destination  Switch  is  to  send a message for that Host to that
  1727.  
  1728. Switch.  The destination Switch must then determine that  it  has
  1729.  
  1730. no  operational  Pathway  to  that  Host, and it must send back a
  1731.  
  1732. control message to the source Switch informing it of  this  fact.
  1733.  
  1734. (In  IEN  183,  we  christened these messages "DNA messages", for
  1735.  
  1736. "Destination Not Accessible.) The source Switch will  store  this
  1737.  
  1738. information  in its address translation tables, so that from then
  1739.  
  1740. on it does not choose a destination Switch whose Pathway  to  the
  1741.  
  1742. Host  is  down.   (Of course, in addition to sending this control
  1743.  
  1744. information back to the source Switch, the  putative  destination
  1745.  
  1746. Switch  should also try to forward the message it received to one
  1747.  
  1748. of the other Switches to which the destination Host is homed.)
  1749.  
  1750.  
  1751.      This should  work  well,  unless  the  Pathway  between  the
  1752.  
  1753. original  destination  Switch and the destination Host comes back
  1754.  
  1755. up.  We must develop some way of informing the source Switch that
  1756.  
  1757. that destination Switch is now once again usable as a destination
  1758.  
  1759. Switch for that Host.  A simple and robust way to handle this  is
  1760.  
  1761. as  follows.   When a source Switch is informed, according to the
  1762.  
  1763. mechanism  of  the  previous   paragraph,   that   a   particular
  1764.  
  1765. destination  Switch  cannot  reach  a particular destination Host
  1766.  
  1767. (without  forwarding  traffic  through  additional   intermediate
  1768.  
  1769. Switches),  it  marks  (in  its  address translation tables) that
  1770.  
  1771. Switch as UNUSABLE as a destination for that Host.  However, this
  1772.  
  1773.                              - 30 -
  1774.  
  1775.  
  1776. IEN 188                              Bolt Beranek and Newman Inc.
  1777.                                                     Eric C. Rosen
  1778.  
  1779.  
  1780. information is reset periodically, say, every  few  minutes.   In
  1781.  
  1782. effect,  this  approach  would  cause  a  source  Switch which is
  1783.  
  1784. handling  traffic  for  that  destination  Host  to   query   the
  1785.  
  1786. destination  Switch  periodically  to see if it has become usable
  1787.  
  1788. again.  Note that no special control message is  needed  for  the
  1789.  
  1790. querying.   The querying is done simply by sending data addressed
  1791.  
  1792. to the destination  Host  to  the  destination  Switch.   If  the
  1793.  
  1794. destination  Switch is still unusable, no data is lost, since the
  1795.  
  1796. data can be readdressed by the destination  Switch  and  sent  to
  1797.  
  1798. some  other  destination  Switch  which  does have an operational
  1799.  
  1800. Pathway to that destination  Host.   Note  also  that  with  this
  1801.  
  1802. scheme,  not all source Switches will be in agreement as to which
  1803.  
  1804. destination Switches can be used to reach which destination Hosts
  1805.  
  1806. at some particular time.  But this is not much of a  problem,  as
  1807.  
  1808. long as address translation is done only once, and not re-done at
  1809.  
  1810. each intermediate Switch.  Further, any source Switch which tries
  1811.  
  1812. to  use  the  wrong  destination  Switch  will be told, via a DNA
  1813.  
  1814. message, to use another one.
  1815.  
  1816.  
  1817.      Lest there be any misunderstanding, we should emphasize that
  1818.  
  1819. we are not proposing this as a general mechanism for  determining
  1820.  
  1821. which Hosts are homed to which Switches.  That information is not
  1822.  
  1823. to  be obtained dynamically at all, but rather is to be installed
  1824.  
  1825. in the translation tables at each Switch by the  Network  Control
  1826.  
  1827. Center  (or  whatever equivalent of the Network Control Center we
  1828.  
  1829. devise for  the  internet.)   This  mechanism  is  only  used  to
  1830.  
  1831.                              - 31 -
  1832.  
  1833.  
  1834. IEN 188                              Bolt Beranek and Newman Inc.
  1835.                                                     Eric C. Rosen
  1836.  
  1837.  
  1838. determine  that  a  Pathway  which ORDINARILY exists between some
  1839.  
  1840. Switch and some Host is TEMPORARILY out of operation.
  1841.  
  1842.  
  1843.      If a destination Host happens to be  unreachable  from  EACH
  1844.  
  1845. potential  destination  Switch  (which will happen if the Host is
  1846.  
  1847. down), this procedure will eventually result in the source Switch
  1848.  
  1849. marking all potential destination Switches unusable.   Once  this
  1850.  
  1851. happens,  the  source  Switch should discard any data it receives
  1852.  
  1853. which is destined for that destination Host,  and  should  return
  1854.  
  1855. some  sort  of  negative  acknowledgment to the source Host.  The
  1856.  
  1857. source Host can then try again, every few minutes, to  send  more
  1858.  
  1859. data  to  the  destination Host.  Since the information marking a
  1860.  
  1861. destination Switch as  unusable  (for  a  particular  destination
  1862.  
  1863. Host) is reset every few minutes, the source Host will be able to
  1864.  
  1865. establish  communication  with the destination Host soon after it
  1866.  
  1867. becomes  reachable  again.    Strictly   speaking,   a   negative
  1868.  
  1869. acknowledgment  from  the  source Switch is not required, and the
  1870.  
  1871. current IP  makes  no  provision  for  such  a  thing.   Yet  the
  1872.  
  1873. information  contained  in the negative acknowledgment might well
  1874.  
  1875. help  the  source  Host  to  choose  a  suitable   retransmission
  1876.  
  1877. interval.   If  a destination Host is unreachable, it makes sense
  1878.  
  1879. for a TCP to retransmit more infrequently than if the TCP has  no
  1880.  
  1881. information   at   all   about   why   it   is  not  getting  any
  1882.  
  1883. acknowledgments  from   the   destination   Host.    Also,   this
  1884.  
  1885. information  would  be  useful  to  the  end-user (if the various
  1886.  
  1887. protocol layers in his Host succeed in passing it back  to  him.)
  1888.  
  1889.                              - 32 -
  1890.  
  1891.  
  1892. IEN 188                              Bolt Beranek and Newman Inc.
  1893.                                                     Eric C. Rosen
  1894.  
  1895.  
  1896. A  user  who is not getting any response from the system may want
  1897.  
  1898. to take a different action if he knows his destination cannot  be
  1899.  
  1900. reached  than if he thinks that the network (or internet) is just
  1901.  
  1902. slow.
  1903.  
  1904.  
  1905.      This procedure, which is basically the same as  the  one  we
  1906.  
  1907. recommended  (in  IEN  183)  for  use  with  logically  addressed
  1908.  
  1909. multi-homed Hosts on the ARPANET, should resolve the  partitioned
  1910.  
  1911. net  problem.   Our approach is not dissimilar to one proposed by
  1912.  
  1913. Sunshine and Postel in IEN 135.  To quote them:
  1914.  
  1915.      A simpler solution to the partitioning problem  follows  the
  1916.      spirit of querying a database when things go wrong.  Suppose
  1917.      there  were  another  database  listing networks and all the
  1918.      gateways attached to each net (whether up  or  down).   This
  1919.      database would change slowly only as new equipment was added
  1920.      to  the  internet system.  Further suppose that the gateways
  1921.      and  internet  routing  are  totally  unaware   of   network
  1922.      partitions,  except  that  gateways to partitioned nets find
  1923.      out when they cannot reach some Host on their own  net.   In
  1924.      this  case,  the  gateway  would  return  a Host Unreachable
  1925.      (through me) advisory message to  the  source.   The  source
  1926.      could  then  query  the global database to get a list of all
  1927.      gateways to the  destination  net,  and  construct  explicit
  1928.      source routes to the destination going through each of these
  1929.      gateways, trying each one in turn until it succeeded.
  1930.  
  1931.  
  1932.      Note, however, that our proposal does not require any source
  1933.  
  1934. routing, because it is Switches (i.e., gateways) themselves which
  1935.  
  1936. are  the addressable entities in our scheme, rather than networks
  1937.  
  1938. (though the authors quoted above were considering how  to  handle
  1939.  
  1940. the  problem  in the current Catenet environment, rather than how
  1941.  
  1942. to design a new environment).  The database they propose  can  be
  1943.  
  1944. identified  with the translation tables we have spoken of.  Also,
  1945.  
  1946.  
  1947.                              - 33 -
  1948.  
  1949.  
  1950. IEN 188                              Bolt Beranek and Newman Inc.
  1951.                                                     Eric C. Rosen
  1952.  
  1953.  
  1954. our proposal handles the situation where a Pathway that was  down
  1955.  
  1956. becomes usable again, a case they don't seem to mention.
  1957.  
  1958.  
  1959.      It   is   sometimes  claimed  that  hierarchical  addressing
  1960.  
  1961. requires less table space than flat addressing, since there is no
  1962.  
  1963. need to have an entry in a translation table  for  each  address.
  1964.  
  1965. We  can  see now that this is not true.  If we wish to be able to
  1966.  
  1967. handle multi-homing, and in particular to handle the "partitioned
  1968.  
  1969. net" problem, we need to maintain table space for the Hosts  with
  1970.  
  1971. which  we are in communication.  This is true no matter what kind
  1972.  
  1973. of addressing scheme we adopt.
  1974.  
  1975.  
  1976.      Let's look now at how our scheme would handle the problem of
  1977.  
  1978. mobile Hosts, i.e., Hosts which move from one network to another.
  1979.  
  1980. We distinguish the case of "rapidly mobile" Hosts from  the  case
  1981.  
  1982. of  "slowly  mobile"  Hosts.  A Host is slowly mobile if its move
  1983.  
  1984. from one net to another can be made  with  enough  lead  time  to
  1985.  
  1986. allow  manual  intervention  to  update  the  logical-to-physical
  1987.  
  1988. address translation tables.  This case is handled simply  by  the
  1989.  
  1990. presence  of  the  logical  addressing.   When  the Host moves to
  1991.  
  1992. another network, it can still be addressed by the same name,  but
  1993.  
  1994. the translation tables are changed so that the logical address is
  1995.  
  1996. now  mapped  to  a  different set of Switches.  This creates some
  1997.  
  1998. work for the internet administration and control center,  but  is
  1999.  
  2000. completely  transparent  to  higher  level  protocols,  since the
  2001.  
  2002. logical address does not change.  On the other hand, we  consider
  2003.  
  2004.  
  2005.                              - 34 -
  2006.  
  2007.  
  2008. IEN 188                              Bolt Beranek and Newman Inc.
  2009.                                                     Eric C. Rosen
  2010.  
  2011.  
  2012. a  Host  to be rapidly mobile if it moves from one net to another
  2013.  
  2014. too quickly or too frequently to allow the procedure of modifying
  2015.  
  2016. the address translation tables to be feasible.  If we can know in
  2017.  
  2018. advance that there is some limited set of networks to which  that
  2019.  
  2020. Host  might  connect, we can map the logical address of that Host
  2021.  
  2022. onto the set of all  gateways  which  connect  to  any  of  those
  2023.  
  2024. networks.   Our  procedure for choosing one gateway to use as the
  2025.  
  2026. destination gateway might be as follows.  Try the  first  gateway
  2027.  
  2028. on the list.  If a DNA message is received, try the second, etc.,
  2029.  
  2030. etc.   Once  a source gateway begins sending traffic for a mobile
  2031.  
  2032. Host to  a  particular  destination  gateway,  it  should  always
  2033.  
  2034. continue to use that gateway, until it receives a DNA message, in
  2035.  
  2036. which  case  it should try the next one.  You will note that this
  2037.  
  2038. procedure is very similar to that used for non-mobile Hosts.   In
  2039.  
  2040. fact,   it  might  be  entirely  identical.   The  only  possible
  2041.  
  2042. difference is that we might want to be  much  more  reluctant  to
  2043.  
  2044. switch  from  one  destination  gateway to another in the case of
  2045.  
  2046. mobile Hosts than in the  case  of  non-mobile  Hosts,  since  we
  2047.  
  2048. expect that a mobile Host will not generally be reachable through
  2049.  
  2050. all of the potential destination gateways at every time.
  2051.  
  2052.  
  2053.  
  2054.  
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.                              - 35 -
  2064.  
  2065.  
  2066. -------
  2067.